
//#ifdef APP
import silenceUpdate from '@/uni_modules/rt-uni-update/js_sdk/silence-update.js' //引入静默更新
import { baseUrl } from '@/sheep/config';
import $url from '@/sheep/url';
import {compareVersions} from "@/sheep/utils/index.js"
export function checkUpdates(){
	// 获取本地应用资源版本号
	plus.runtime.getProperty(plus.runtime.appid, (inf) => {
		//获取服务器的版本号
		const info = uni.getAppBaseInfo()
		console.log('getAppBaseInfo',info)
		uni.request({
			url:baseUrl + 'shop/api/app_version', //示例接口
			data: {
				// edition_type: plus.runtime.appid,
				// version_type: uni.getSystemInfoSync().platform, //android或者ios
				edition_number: inf.versionCode // 打包时manifest设置的版本号
				// edition_name: info.appWgtVersion // 打包时manifest设置的版本号 
			},
			success: (res) => {
				console.log('app_version',res)
				if(res.data.error == 0 && res.data.data){
					const {osName} = uni.getSystemInfoSync()
					//判断后台返回版本号是否大于当前应用版本号 && 是否发行 （上架应用市场时一定不能弹出更新提示）
					let edition_url = ''
					if(osName == 'android'){
						edition_url = res.data.data.android_edition_url
					}else if (osName == 'ios'){
						edition_url = res.data.data.ios_edition_url
					}else if (osName == 'harmony'){
						edition_url = res.data.data.huawei_edition_url
					}
					if (compareVersions(res.data.data.edition_name,info.appWgtVersion) == 1 && res
						.data.data.edition_issue == 1 && edition_url) {

						//如果是wgt升级，并且是静默更新 （注意！！！ 如果是手动检查新版本，就不用判断静默更新，请直接跳转更新页，不然点击检查新版本后会没反应）
						if (res.data.data.package_type == 1 && res.data.data.edition_silence == 1) {
							//调用静默更新方法 传入下载地址
							console.log('静默更新',$url.cdn(edition_url))
							silenceUpdate($url.cdn(edition_url))
						} else {
							//跳转更新页面 （注意！！！如果pages.json第一页的代码里有一打开就跳转其他页面的操作，下面这行代码最好写在setTimeout里面设置延时3到5秒再执行）					
							console.log('弹窗更新',$url.cdn(edition_url))
							setTimeout(()=>{
								uni.navigateTo({
									url: '/uni_modules/rt-uni-update/components/rt-uni-update/rt-uni-update?obj=' +
										JSON.stringify({
											...res.data.data,
											edition_url:$url.cdn(edition_url)
										})
								});
							},2000)
						}
					} else {
						console.log('已经是最新版本')
						// 如果是手动检查新版本 需开启以下注释
						/* uni.showModal({
							title: '提示',
							content: '已是最新版本',
							showCancel: false
						}) */
					}
				}else{
					console.log('未查询到可更新信息')
				}
			}

		})

	});
}

//#endif    